CREATE PROCEDURE [dbo].[sp_Sync_FactorDetail_Insert]
    @Number NUMERIC(18, 0) ,
    @CustomerCode VARCHAR(5) ,
    @WearhouseId INT ,
    @RowNumber SMALLINT ,
    @GoodCode VARCHAR(15) ,
    @Unit1Qty MONEY ,
    @Unit2Qty MONEY ,
    @Ratio1_2 FLOAT ,
    @BuyPrice MONEY ,
    @ConsumerPrice MONEY ,
    @WholePrice MONEY ,
    @SalesPrice MONEY ,
    @TaxStatus BIT ,
    @DecimalStatus BIT ,
    @StockStatus BIT ,
    @AlongStatus BIT ,
    @EditAction SMALLINT
AS
    DECLARE @Kind CHAR(1)
    SELECT  @Kind = Kind_Flag
    FROM    TmpHeadH
    WHERE   Id_Havaleh = @Number

    INSERT  INTO TmpHavaleh
            ( [Id_Havaleh] ,
              [Sender] ,
              [Reciver] ,
              [Radif] ,
              [K_Code] ,
              [K_Qty1] ,
              [K_Qty2] ,
              [R_Unit1_2] ,
              [Price_KHarid] ,
              [Price_Omdeh] ,
              [Price_Forosh] ,
              [Takhfif_Flag] ,
              [Point_Flag] ,
              [Hamrah_Flag] ,
              [EditQty_Flag] ,
              [CtrMojodi] ,
              [Link_Record] ,
              [Note] ,
              [Price_Consumer]
            )
    VALUES  ( @Number ,
              ( CASE WHEN @Kind IN ( 1, 5, 7, 9, 4)
                     THEN CAST(@WearhouseId AS VARCHAR)
                     ELSE @CustomerCode
                END ) ,
              ( CASE WHEN @Kind IN ( 1, 5, 7, 9, 4) THEN @CustomerCode
                     ELSE CAST(@WearhouseId AS VARCHAR)
                END ) ,
              @RowNumber ,
              @GoodCode ,
              @Unit1Qty ,
              ( SELECT  @Unit1Qty / ( CASE WHEN R_Unit1_2 > 0 THEN R_Unit1_2
                                           ELSE 1
                                      END )
                FROM    dbo.KalaId
                WHERE   K_Code = @GoodCode
              ) ,
              ( SELECT R_Unit1_2 
                FROM    dbo.KalaId
                WHERE   K_Code = @GoodCode
              )   ,
              @BuyPrice ,
              @WholePrice ,
              @SalesPrice ,
               ( SELECT Duty_Flag
                FROM    dbo.KalaId
                WHERE   K_Code = @GoodCode
              )    ,
              @DecimalStatus ,
              @AlongStatus ,
              0 ,
              @StockStatus ,
              0 ,
              NULL ,
              @ConsumerPrice 
            )

         
